1 c语言概述

1.1 c语言的历史

1.1.1 起源

简介:c语言是在贝尔实验室由Ken Thompson Dennis Ritchie及其同事在开发UNIX操作系统的过程中的副产品。

1
2
3
4
5
6
7
8
9
10
11
st=>start: 1969
e=>end: 1973

op1=>operation: Thompson独自动手使用汇编语言编写了UNIX操作系统的最初版本
op2=>operation: Thompson在BCPL语言(基于ALGOL 60)的基础上开发B语言
op3=>operation: 1970年,B语言经过改进运行在PDP-11上
op4=>operation: 1971年,B语言暴露出不适合PDP-11的问题
op5=>operation: Ritchie开始开发B语言的升级版,NB
op6=>operation: NB越来越脱离B,改名C语言

st->op1->op2->op3->op4->op5->op6->e

1.1.2 标准化

注意:c语言目前最新标准是1999年修订的C99(ISO 9899:1999),但目前没有得到广泛应用。

1
2
3
4
5
6
7
8
9
st=>start: 1978
e=>end: 1990
op1=>operation: 1978年,《The C Programming Language》第一版出版,成为事实标准,即经典C(K&R C)
op2=>operation: 1983年,ANSI开始编制C语言标准
op3=>operation: 1988年,经过多次修订,C语言标准完成
op4=>operation: 1989年12月通过,成为ANSI标准X3.159-1989
op5=>operation: 1990年,ISO通过此项标准,成为ISO/IEC 9899-1990国际标准,即标准C(ANSI C或ANSI/ISO C)

st->op1->op2->op3->op4->op5->e

1.1.3 C++语言

相关:Concurrent C Object C C++

C++简介:贝尔实验室的Bjarne Stroustrup设计,在许多方面对C语言进行扩展,支持面向对象。

为什么不直接学习c++:

  • c++语言比c语言更加难学,最好先精通c
  • 存在大量c语言代码需要维护
  • 并不是所有场景都适合c++

1.2 C语言的优缺点

  • c语言是一种低级语言
  • c语言是一种小型语言
  • c语言是一种包容性语言

1.2.1 优点

  • 高效性
  • 可移植
  • 功能强大
  • 灵活性
  • 标准库
  • 与UNIX系统的集成

1.2.2 缺点

  • c语言可能会漏洞百出
  • c程序可能会难以理解
  • c程序可能会难以修改

1.2.3 高效地使用c语言

  • 学习如何规避c语言地缺陷
  • 使用软件工具使程序更加可靠
  • 利用现有地代码库
  • 采用一套切合实际地编码规范
  • 避免“投机取巧”和极度复杂的代码
  • 避免不可移植性